package cn.s1995.sloth.bizs.service;

import java.util.Set;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import cn.s1995.sloth.bizs.entity.VideoComment;
import cn.s1995.sloth.bizs.oo.req.VideoCommentREQ;
import cn.s1995.sloth.bizs.oo.vo.VideoCommentVO;
import cn.s1995.sloth.common.core.util.R;

public interface VideoCommentService extends IService<VideoComment> {

	/**
	 * 分页查询，带子评论数
	 * @param page
	 * @param req
	 * @return
	 */
	Page getCommentPage(Page page, VideoCommentREQ req);

	/**
	 * 新增评论
	 * @param videoComment
	 */
	void add(VideoCommentREQ videoComment);

	/**
	 * 查询用户对视频视频的点赞状态
	 * @param uid
	 * @param video
	 */
	void setLikeStatus(Long uid, VideoCommentVO vo);

	/**
	 * 获取视频评论的点赞用户集合
	 * @param id
	 * @return
	 */
	Set<Long> getLikeUserSet(Long id);

	/**
	 * 点赞评论
	 * @param id
	 * @return
	 */
	R like(Long id);

	/**
	 * 更新评论的点赞用户集合
	 * @param id
	 * @param set
	 * @return
	 */
	Set<Long> updateLikeUserSet(Long id, Set<Long> set);
}
